package com.junxonline.plat.service.menu;

import com.junxonline.common.dao.model.Menu;
import com.junxonline.common.dao.pojo.JsTree;
import com.junxonline.common.dao.vo.MenuVO;
import com.junxonline.common.dao.vo.QueryMenuVO;

import java.util.List;
import java.util.Map;

public interface MenuService {

    /**
     * 获取导航菜单数据
     * @param userId
     * @return
     */
    List<Menu> getNavMenu(Long userId);

    /**
     * 获取按钮数据
     * @param menuUrl
     * @param userId
     * @return
     */
    List<Menu> getButton(String menuUrl, Long userId);

    /**
     * 获取菜单树数据
     * @return
     */
    List<JsTree> getMenuTree();

    /**
     * 获取菜单数据
     * @param vo
     * @return
     */
    Map<String, Object> getMenu(QueryMenuVO vo);

    /**
     * 获取菜单的所有子菜单
     * @param menuId
     * @return
     */
    Map<String, Object> getMenuChildren(Long menuId);

    /**
     * 添加菜单
     * @param vo
     * @return
     */
    Menu addMenu(MenuVO vo);

}
